package com.binc.testspring.study.mina.study2;

import lombok.Data;
import lombok.ToString;

import java.io.UnsupportedEncodingException;

/**
 * FileName: MyProtocalPackage  自定义的协议包
 *
 * 格式:   包头（int+byte） 5字节
 *        内容（String） 任意长度
        12
        1
        内容有点随意，将就着看吧
 *
 *
 * Autho: binC
 * Date:  2022/3/25 15:15
 */
@Data
@ToString
public class MyProtocolPackage {
    private int headLength; //自定义协议包的头，长度   我们的头的长度是所有内容的长度值和
    private byte version; //标识版本
    private String content; //标识整整的内容

    public MyProtocolPackage() {
    }

    public MyProtocolPackage(byte version, String content) throws UnsupportedEncodingException {
        this.version = version;
        this.content = content;
        int len1 = content==null?0:content.getBytes("GBK").length;
        this.headLength = len1 + 4 + 1;  // HeadLength = 内容长度 + 版本号长度（byte 1个字节）+ headLength本身的长度（int 4个字节）
    }
}
